0 CpxTRS
↳1 TrsToWeightedTrsProof (BOTH BOUNDS(ID, ID), 0 ms)
↳2 CpxWeightedTrs
↳3 TypeInferenceProof (BOTH BOUNDS(ID, ID), 0 ms)
↳4 CpxTypedWeightedTrs
↳5 CompletionProof (UPPER BOUND(ID), 0 ms)
↳6 CpxTypedWeightedCompleteTrs
↳7 NarrowingProof (BOTH BOUNDS(ID, ID), 17 ms)
↳8 CpxTypedWeightedCompleteTrs
↳9 CpxTypedWeightedTrsToRntsProof (UPPER BOUND(ID), 0 ms)
↳10 CpxRNTS
↳11 SimplificationProof (BOTH BOUNDS(ID, ID), 1 ms)
↳12 CpxRNTS
↳13 CpxRntsAnalysisOrderProof (BOTH BOUNDS(ID, ID), 0 ms)
↳14 CpxRNTS
↳15 IntTrsBoundProof (UPPER BOUND(ID), 399 ms)
↳16 CpxRNTS
↳17 IntTrsBoundProof (UPPER BOUND(ID), 61 ms)
↳18 CpxRNTS
↳19 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳20 CpxRNTS
↳21 IntTrsBoundProof (UPPER BOUND(ID), 175 ms)
↳22 CpxRNTS
↳23 IntTrsBoundProof (UPPER BOUND(ID), 65 ms)
↳24 CpxRNTS
↳25 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳26 CpxRNTS
↳27 IntTrsBoundProof (UPPER BOUND(ID), 160 ms)
↳28 CpxRNTS
↳29 IntTrsBoundProof (UPPER BOUND(ID), 111 ms)
↳30 CpxRNTS
↳31 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳32 CpxRNTS
↳33 IntTrsBoundProof (UPPER BOUND(ID), 258 ms)
↳34 CpxRNTS
↳35 IntTrsBoundProof (UPPER BOUND(ID), 120 ms)
↳36 CpxRNTS
↳37 ResultPropagationProof (UPPER BOUND(ID), 0 ms)
↳38 CpxRNTS
↳39 IntTrsBoundProof (UPPER BOUND(ID), 2585 ms)
↳40 CpxRNTS
↳41 IntTrsBoundProof (UPPER BOUND(ID), 3605 ms)
↳42 CpxRNTS
↳43 FinalProof (⇔, 0 ms)
↳44 BOUNDS(1, n^2)
cond1(true, x) → cond2(even(x), x)
cond2(true, x) → cond1(neq(x, 0), div2(x))
cond2(false, x) → cond1(neq(x, 0), p(x))
neq(0, 0) → false
neq(0, s(x)) → true
neq(s(x), 0) → true
neq(s(x), s(y)) → neq(x, y)
even(0) → true
even(s(0)) → false
even(s(s(x))) → even(x)
div2(0) → 0
div2(s(0)) → 0
div2(s(s(x))) → s(div2(x))
p(0) → 0
p(s(x)) → x
cond1(true, x) → cond2(even(x), x) [1]
cond2(true, x) → cond1(neq(x, 0), div2(x)) [1]
cond2(false, x) → cond1(neq(x, 0), p(x)) [1]
neq(0, 0) → false [1]
neq(0, s(x)) → true [1]
neq(s(x), 0) → true [1]
neq(s(x), s(y)) → neq(x, y) [1]
even(0) → true [1]
even(s(0)) → false [1]
even(s(s(x))) → even(x) [1]
div2(0) → 0 [1]
div2(s(0)) → 0 [1]
div2(s(s(x))) → s(div2(x)) [1]
p(0) → 0 [1]
p(s(x)) → x [1]
cond1(true, x) → cond2(even(x), x) [1]
cond2(true, x) → cond1(neq(x, 0), div2(x)) [1]
cond2(false, x) → cond1(neq(x, 0), p(x)) [1]
neq(0, 0) → false [1]
neq(0, s(x)) → true [1]
neq(s(x), 0) → true [1]
neq(s(x), s(y)) → neq(x, y) [1]
even(0) → true [1]
even(s(0)) → false [1]
even(s(s(x))) → even(x) [1]
div2(0) → 0 [1]
div2(s(0)) → 0 [1]
div2(s(s(x))) → s(div2(x)) [1]
p(0) → 0 [1]
p(s(x)) → x [1]
cond1 :: true:false → 0:s:y → cond1:cond2 true :: true:false cond2 :: true:false → 0:s:y → cond1:cond2 even :: 0:s:y → true:false neq :: 0:s:y → 0:s:y → true:false 0 :: 0:s:y div2 :: 0:s:y → 0:s:y false :: true:false p :: 0:s:y → 0:s:y s :: 0:s:y → 0:s:y y :: 0:s:y |
(a) The obligation is a constructor system where every type has a constant constructor,
(b) The following defined symbols do not have to be completely defined, as they can never occur inside other defined symbols:
cond1
cond2
neq
div2
p
even
neq(v0, v1) → null_neq [0]
div2(v0) → null_div2 [0]
p(v0) → null_p [0]
even(v0) → null_even [0]
null_neq, null_div2, null_p, null_even, const
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
Runtime Complexity Weighted TRS with Types. The TRS R consists of the following rules:
The TRS has the following type information:
Rewrite Strategy: INNERMOST |
true => 2
0 => 0
false => 1
y => 1
null_neq => 0
null_div2 => 0
null_p => 0
null_even => 0
const => 0
cond1(z, z') -{ 2 }→ cond2(even(x'), 1 + (1 + x')) :|: z = 2, z' = 1 + (1 + x'), x' >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, x) :|: z = 2, z' = x, x >= 0
cond2(z, z') -{ 3 }→ cond1(2, x3) :|: z = 1, z' = 1 + x3, x3 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' = 1 + x'', x'' >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' = 1 + x3, x3 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(x1)) :|: z = 2, x1 >= 0, z' = 1 + (1 + x1)
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, x4) :|: x4 >= 0, z = 1, z' = 1 + x4
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' = x, x >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z' = x, z = 1, x >= 0
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(x2)) :|: z = 2, z' = 1 + (1 + x2), x2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
div2(z) -{ 1 }→ 1 + div2(x) :|: x >= 0, z = 1 + (1 + x)
even(z) -{ 1 }→ even(x) :|: x >= 0, z = 1 + (1 + x)
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
neq(z, z') -{ 1 }→ neq(x, 1) :|: z' = 1 + 1, x >= 0, z = 1 + x
neq(z, z') -{ 1 }→ 2 :|: z' = 1 + x, x >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: x >= 0, z = 1 + x, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: v0 >= 0, v1 >= 0, z = v0, z' = v1
p(z) -{ 1 }→ x :|: x >= 0, z = 1 + x
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: v0 >= 0, z = v0
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 1 }→ neq(z - 1, 1) :|: z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
{ neq } { p } { div2 } { even } { cond2, cond1 } |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 1 }→ neq(z - 1, 1) :|: z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 1 }→ neq(z - 1, 1) :|: z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: ?, size: O(1) [2] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 1 }→ neq(z - 1, 1) :|: z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: ?, size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: ?, size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 2 }→ cond1(0, 1 + div2(z' - 2)) :|: z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ 1 }→ 1 + div2(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] even: runtime: ?, size: O(1) [2] |
cond1(z, z') -{ 2 }→ cond2(even(z' - 2), 1 + (1 + (z' - 2))) :|: z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ 1 }→ even(z - 2) :|: z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] even: runtime: O(n1) [1 + z], size: O(1) [2] |
cond1(z, z') -{ 1 + z' }→ cond2(s2, 1 + (1 + (z' - 2))) :|: s2 >= 0, s2 <= 2, z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ z }→ s3 :|: s3 >= 0, s3 <= 2, z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] even: runtime: O(n1) [1 + z], size: O(1) [2] |
cond1(z, z') -{ 1 + z' }→ cond2(s2, 1 + (1 + (z' - 2))) :|: s2 >= 0, s2 <= 2, z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ z }→ s3 :|: s3 >= 0, s3 <= 2, z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] even: runtime: O(n1) [1 + z], size: O(1) [2] cond2: runtime: ?, size: O(1) [0] cond1: runtime: ?, size: O(1) [0] |
cond1(z, z') -{ 1 + z' }→ cond2(s2, 1 + (1 + (z' - 2))) :|: s2 >= 0, s2 <= 2, z = 2, z' - 2 >= 0
cond1(z, z') -{ 2 }→ cond2(2, 0) :|: z = 2, z' = 0
cond1(z, z') -{ 2 }→ cond2(1, 1 + 0) :|: z = 2, z' = 1 + 0
cond1(z, z') -{ 1 }→ cond2(0, z') :|: z = 2, z' >= 0
cond2(z, z') -{ 3 }→ cond1(2, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 2, z' - 1 >= 0
cond2(z, z') -{ 2 }→ cond1(2, 0) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 3 }→ cond1(2, z' - 1) :|: z = 1, z' - 1 >= 0
cond2(z, z') -{ 2 + z' }→ cond1(2, 1 + s') :|: s' >= 0, s' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 3 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(1, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 2, z' = 1 + 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 2, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, 0) :|: z = 1, z' = 0
cond2(z, z') -{ 1 }→ cond1(0, 0) :|: z = 1, z' >= 0
cond2(z, z') -{ 2 }→ cond1(0, z' - 1) :|: z' - 1 >= 0, z = 1
cond2(z, z') -{ 1 + z' }→ cond1(0, 1 + s'') :|: s'' >= 0, s'' <= 1 * (z' - 2), z = 2, z' - 2 >= 0
div2(z) -{ 1 }→ 0 :|: z = 0
div2(z) -{ 1 }→ 0 :|: z = 1 + 0
div2(z) -{ 0 }→ 0 :|: z >= 0
div2(z) -{ z }→ 1 + s1 :|: s1 >= 0, s1 <= 1 * (z - 2), z - 2 >= 0
even(z) -{ z }→ s3 :|: s3 >= 0, s3 <= 2, z - 2 >= 0
even(z) -{ 1 }→ 2 :|: z = 0
even(z) -{ 1 }→ 1 :|: z = 1 + 0
even(z) -{ 0 }→ 0 :|: z >= 0
neq(z, z') -{ 3 }→ s :|: s >= 0, s <= 2, z' = 1 + 1, z - 1 >= 0
neq(z, z') -{ 1 }→ 2 :|: z' - 1 >= 0, z = 0
neq(z, z') -{ 1 }→ 2 :|: z - 1 >= 0, z' = 0
neq(z, z') -{ 1 }→ 1 :|: z = 0, z' = 0
neq(z, z') -{ 0 }→ 0 :|: z >= 0, z' >= 0
p(z) -{ 1 }→ 0 :|: z = 0
p(z) -{ 0 }→ 0 :|: z >= 0
p(z) -{ 1 }→ z - 1 :|: z - 1 >= 0
neq: runtime: O(1) [2], size: O(1) [2] p: runtime: O(1) [1], size: O(n1) [z] div2: runtime: O(n1) [1 + z], size: O(n1) [z] even: runtime: O(n1) [1 + z], size: O(1) [2] cond2: runtime: O(n2) [42 + 63·z' + 6·z'2], size: O(1) [0] cond1: runtime: O(n2) [113 + 64·z' + 6·z'2], size: O(1) [0] |